return repeat;
}
+static void
+stop_key_repeat (GdkWaylandDeviceData *device)
+{
+ if (device->repeat_timer)
+ {
+ g_source_remove (device->repeat_timer);
+ device->repeat_timer = 0;
+ }
+}
+
static gboolean
deliver_key_event (GdkWaylandDeviceData *device,
uint32_t time_,
if (state == 0)
{
- if (device->repeat_timer)
- {
- g_source_remove (device->repeat_timer);
- device->repeat_timer = 0;
- }
+ stop_key_repeat (device);
return FALSE;
}
else
switch (device->repeat_count)
{
case 1:
- if (device->repeat_timer)
- {
- g_source_remove (device->repeat_timer);
- device->repeat_timer = 0;
- }
+ stop_key_repeat (device);
device->repeat_timer =
gdk_threads_add_timeout (delay, keyboard_repeat, device);
g_source_set_name_by_id (device->repeat_timer, "[gtk+] keyboard_repeat");